﻿#ifndef CMDCONFIG_H
#define CMDCONFIG_H

//点击触发型参数枚举(绣花机超级用户参数、冲缝绣产线软件设置参数、网络管理参数)
enum CLICK_ALL_FUNCTION {
    ROOT_HMICONFIGURATION = 0,  //界面配置
    ROOT_MACHINEPARA,           // 机器参数
    ROOT_WORKPARA,              // 工作参数
    ROOT_CLEARPATTERN,          //花样总清
    ROOT_VERSIONRECOVERY,       //版本恢复
    ROOT_DEBUGMODE,             //界面进入调试模式
    ROOT_RESOLUTION,            //分辨率
    ROOT_MACTYPE,               //机器类型
    ROOT_PRODUCTTYPE,           //产品类型
    ROOT_SHUTTLECHANGE,         //自动换梭
    ROOT_WATERMARKSET,          //主背景水印设置(是否带水印)
    ROOT_WIFI,
    ROOT_PARASORTSET,           //参数分类设置(是否分类)
    ROOT_HMIDECRYPT,            // 界面解密
    ROOT_CHANGEPASSWORD,        //修改一级密码
    ROOT_IOTCONFIGURATION,          //物联网配置-物联网配置
    ROOT_GATEWAYCONNECTIONMETHOD,   //物联网配置-网关连接方式
    ROOT_RACKNUMBERINPUT,           //物联网配置-机架号输入
    ROOT_NETWORKSETTINGS,           //物联网配置-网络设置
    ROOT_DELIVERYTIME,              //物联网配置-工厂预计交货时间
    ROOT_DEBUGPROGRESS,             //物联网配置-调试进度
    ROOT_DELETEINI,         //删除配置文件
    PSE_SOFTWAREPARA_IMPORTPARA,        // 参数导入
    PSE_SOFTWAREPARA_EXPORTPARA,        // 参数导出
    PSE_SOFTWAREPARA_HMIUPDATE,         // 界面升级
    PSE_SOFTWAREPARA_MCUPDATE,      // 主控升级
    PSE_SOFTWAREPARA_EXIT,          // 退出程序
    PATTERN_PREVIEW_MUL,        // 多针旋梭系列的花样预览
    ROOT_DATA_FORMATE,          // 数据传输方式-因飞行平板切割机添加(未用)
};

enum MC_TYPE { NUM1 = 1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9 };//板卡号

//此头文件定义了常用功能的枚举
enum SHORTCUT_FUNCTION {
    FUN_ALLTOZERO = 1,     // 全部归零
    FUN_SPINDLEJOG,        // 主轴点动
    FUN_SPINDLEENABLE,        // 主轴使能
    FUN_SPINDLEDISABLE,        // 主轴失能
    FUN_SPINDLETEST,             // 主轴研车
    FUN_SPINDLEROTATE,        // 主轴旋转
    FUN_BACKWORKPOINT,     // 回工作点
    FUN_CUTTINGPOINT,     // 回切割点
    FUN_BACKTOORIGIN,      // 回原点
    FUN_SETOFFSETPOINT,    // 定偏移点
    FUN_BACKOFFSETPOINT,   // 回偏移点
    FUN_SETSTARTPOINT,  // 定起始点
    FUN_BACKSTARTPOINT, // 回起始点
    FUN_SETFEEDINGPOINT,    //定上料点
    FUN_BACKFEEDINGPOINT,    //回上料点
    FUN_CHECKFRAME,        // 边框检查
    FUN_FORWARDORBACK,     // 前进回退
    FUN_SIMULATEFRAME,    //空走边框
    FUN_PROCESSRESET,    //流程复位
    FUN_MANUALOIL,    //手动加油
    FUN_PATTERNSELECT,    // 花样选择
    FUN_SEWAUTOCHANGESHUTTLE,  //自动换梭
    FUN_SEWBUFF,               //缝纫状态
    FUN_SHUTTLEDISKBUFF,       //换梭盘状态
    FUN_BACKTHREADPOINT,       //回穿线点
    FUN_SETANCHORPOINT,  // 定定位点（服装机）
    FUN_FLAT_SETANCHORPOINT,  // 定定位点（平板切割）
    FUN_BACKANCHORPOINT, // 回定位点（服装机）
    FUN_BACKSHUTTLE,   //回换梭位（服装机）
    FUN_NEEDLESHUTTLERESET,   //针梭校对（服装机）
    FUN_BACKZEROPOINT,         //回零点
    FUN_GOTO_FINISH,         //回结束点
    FUN_SHUTTLETOHEAD,         //将旋梭从梭盘到机头
    FUN_HEADTOSHUTTLE,         //将旋梭从机头到梭盘
    FUN_COUNTRESET,            //底线计数清零
    FUN_OUTPUTRESET,           //产量清零
    FUN_NEDDLEZEROPOS,         //对针零位
    FUN_SHUTTLEZEROPOS,        //对梭零位
    FUN_MT_ALLZ,                     // 所有主轴 零位
    FUN_MT_ALLG,                     // 所有主轴 勾线
    FUN_MT_ALLM,                    // 所有主轴 点动
    FUN_MAINSHAFT_ADJUST,   // 针梭校对
    FUN_SIMULATED_STATUS,   // 模拟缝纫状态
    FUN_MANUAL_THREAD_CUTTING, // 手动剪线
    FUN_HEAD_LIFTUPDOWN, //机头升降
    FUN_HEAD_LIFTING, //机头上升
    FUN_GOTO_FEEDT,//回穿线点
    FUN_MAKEUP_NOHEAD, // 取消补缝
    FUN_MAKEUP_HEAD1, // 机头1补缝
    FUN_MAKEUP_HEAD2, // 机头2补缝
    FUN_MAKEUP_HEAD3, // 机头3补缝
    FUN_MAKEUP_HEAD4, // 机头4补缝
    FUN_MAKEUP_HEAD5, // 机头5补缝
    ASSIST_ThCutAct1,//机头1 剪线动作
    ASSIST_ThCutAct2,//机头2 剪线动作
    ASSIST_ThCutAct3,//机头3 剪线动作
    ASSIST_ThCutAct4,//机头4 剪线动作
    ASSIST_ThCutAct5,//机头5 剪线动作
    FUN_KNIFE_COLLECT,//刀压采集
    FUN_KNIFE_TEST,//刀压测试
    FUN_FAN_AREA,//风机区域
    FUN_SET_KNIFETEST_POS,//设置刀压检测位置
    FUN_SET_KNIFEROT_POS,//设置被动刀旋转位置
    FUN_ROT_PASSIVE_KNIFE,//旋转被动刀
    FUN_ROT_PASSIVE_KNIFE1,//旋转被动刀1
    FUN_ROT_PASSIVE_KNIFE2,//旋转被动刀2
    FUN_CROSS_CUT,//横切
    FUN_DISPLAY_COLLECTED_DATA,//显示采集数据
    FUN_SPD_SELECT,//速度选择
    FUN_MS_TO_ANGLE,//主轴去指定角度
    FUN_WIRE_MS_RUN,//主轴研车
    FUN_ROT_TO_ANGLE,//旋转电机去指定角度
    FUN_AUTO_PULL,//自动拉料
    FUN_CUT_UD,//剪底面线
    FUN_CUT_WIRE,//剪电阻丝
    FUN_GOTO_PULLPOS,//回拉料起始点
    FUN_JAW_WORK,//夹布工作状态
    FUN_JAW_FEED,//夹布上料状态
    FUN_ZIGZAG_POS1,//去摆动位1
    FUN_ZIGZAG_POS2,//去摆动位2
    FUN_YPB_MOVE,//手动拉料
    FUN_AUTO_CHANGE_ONE_SHUT,//自动换一个梭
    FUN_INSTALL_FIRST_BOBBIN,//安装第一个梭壳
    FUN_SHUT_FROM_PLATE_TO_HEAD,//将旋梭从梭盘拿到机头
    FUN_SHUT_FROM_HEAD_TO_PLATE,//将旋梭从机头拿到梭盘
    FUN_SHUT_INTO_TAKE_PLATE,//进入更换梭盘状态
    FUN_SHUT_INTO_INDX_STA,//进入缝纫状态
    FUN_SHUT_FEED_STATE,//进入送料状态
    FUN_SHUT_BACK_STATE,//进入收料状态
    FUN_SHUIILE_LINE,//梭芯底线显示

    FUN_STARTWORK,  //启动工作
    FUN_SHUTTLE_REFUELING,//多针旋梭-梭加油
    FUN_NEEDLE_REFUELING,//多针旋梭-针加油
    FUN_PATTERN_PREVIEW,//多针旋梭-花样预览

    FUN_NULL   // 无功能   无功能应该放在最后一位,因为常用功能得最大值就是无功能,否则无法一一对应
};

//辅助功能的枚举
enum ASSIST_FUNCTION {
    ASSIST_SENSOR = 1,     // 传感器信号
    ASSIST_CONTROLACTION,       // 控制动作
    ASSIST_HMIUPGRADE,        // 界面升级
    ASSIST_MCUPGRADE,        // 主控升级
    ASSIST_PARAIMPORT,      // 参数导入
    ASSIST_PARAEXPORT,    // 参数导出
    ASSIST_SOFTWARESET,   // 软件设置
    ASSIST_AUTHORIZATION,  // 软件授权
    ASSIST_NETWORK, // 网络管理
    ASSIST_WIFI,
    ASSIST_TIMESET,        // 时间设置
    ASSIST_PRODUCTSTATICS, // 生产统计
    ASSIST_LOGFILE,//文件日志
    ASSIST_ERRORLOG,//错误日志
    ASSIST_BREAKAGELOG,//断线日志
    ASSIST_MCVERSION,     // 版本信息
    ASSIST_BOTTOMLINEDETECT,  //底线检测
    ASSIST_FACELINEDETECT,    //面线检测
    ASSIST_SPINDLETEST,    //主轴研车
    ASSIST_CHANGEASHUTTLE ,// 自动换一个梭
    ASSIST_ROOT,    //超级用户
    ASSIST_SHUTDOWN,    //关机
    ASSIST_BOTTOMLINECOUNTRESET, // 底线计数复位
    ASSIST_DEBUGINFO,//调试信息
    ASSIST_ScanTest,//扫码测试
    ASSIST_HMIBACKUPSUPGRADE,        // 界面还原
    ASSIST_NULL   // 无功能
};

//花样设置功能的枚举
enum PATTERNSET_FUNCTION {
    PATTERNSET_PATTERNSELECT = 1,     // 花样选择
    PATTERNSET_PATTERNPARA,       // 花样参数
    PATTERNSET_PATTERNCOLOR,        // 花样色序
    PATTERNSET_PATTERNIMPORT,        // 花样导入
    PATTERNSET_PATTERNEXPORT,     // 花样导出
    PATTERNSET_PATTERNDELETE,     // 花样删除
    PATTERNSET_ALGORITHMPARA,     // 平板切割算法参数
    PATTERNSET_PATTERNPREVIEW,     // 花样预览
    PATTERNSET_NULL   // 无功能
};

//参数设置参数类型的枚举
enum PARASET_FUNCTION {
    PARASET_POSITION = 1,     // 位置参数
    PARASET_SPEED,                // 速度参数
    PARASET_ACTION,              // 动作参数
    PARASET_DETECT,               // 检测参数
    PARASET_SETTING ,             // 工作参数
    PARASET_ALL ,             // 全部参数
    PARASET_SHUTTLE       //自动换梭参数
};

enum OUTCONTROL_FUN {
    OUTCONTROL_ENABLE = 1, // 使能
    OUTCONTROL_DISABLE,    // 失能
    OUTCONTROL_MS_ENABLE,  // 主轴电机使能
    OUTCONTROL_MS_DISABLE, // 主轴电机失能
    OUTCONTROL_JOGP,       // 正转
    OUTCONTROL_JOGN,       // 反转
    OUTCONTROL_STOP,       // 停止
    OUTCONTROL_ZERO,       // 归零
    OUTCONTROL_LEFT,       // 左位
    OUTCONTROL_MIDDLE,     // 中位
    OUTCONTROL_RIGHT,      // 右位
    OUTCONTROL_UP,         // 上升
    OUTCONTROL_DOWN,       // 下降
    MANUALACTION_RUN,        // 执行
    OUTCONTROL_OPEN,       // 打开
    OUTCONTROL_CLOSE,       // 关闭
    OUTCONTROL_STARTOIL,       // 开始
    OUTCONTROL_STOPOIL,       // 停止
    OUTCONTROL_COCOSTOP,      // 输出停止
    MOTORHEADO_UP,           // 缝纫机头1升降
    MOTORHEADO_DOWN,            //缝纫机头1下降
    MOTORHEADT_UP,           // 缝纫机头2升降
    MOTORHEADT_DOWN,            // 缝纫机头2下降
    ALLTO_ZERO,       // 全部归零
    OUTCONTROL_PULL,        //拉料
    OUTCONTROL_PULLBACK,    //退料
    OUTCONTROL_PULLSTOP,    //拉料/退料停止
};

//软件设置的顺序枚举
enum ENUM_SOFTWARESET {
    //                         SET_THEME = 0,             // 主题
    SET_LANGUAGE = 0,          // 语言
    SET_FONTSIZE,            //字体大小
    SET_CONNECTMODE,   //连接方式(通讯方式)
    SET_TITLEBAR           //设置标题栏
    //参数设置界面参数显示方式
};

//花样参数的顺序枚举
enum ENUM_PATTERNPARA {
    SET_ROTATESTYLE = 0,        // 旋转式样
    SET_HORIZONTALSTYLE,        // 水平翻转样式
    SET_VERTICALSTYLE,          // 垂直翻转样式
    SET_ROTATEANGLE,            // 旋转角度
    SET_SETSTEPSIZE,        // 针步大小
    SET_REINMODE ,                 // 加固方式
    SET_REINNEEDLE ,               // 加固针数
    SET_REINNUM ,                  // 加固次数
    SET_ANGLECORROFFSET,     // 角度修正量
    SET_ANGLECORRPOSX,       // 角度修正x正
    SET_ANGLECORRNEGX,       // 角度修正x负
    SET_ANGLECORRPOSY,       // 角度修正y正
    SET_ANGLECORRNEGY,       // 角度修正y负
    SET_SETLEFT,                    // 左边
    SET_SETFRONT ,                  // 前边
    SET_SCANX,                  // 缩放x
    SET_SCANY ,                 // 缩放y
    SET_STARTX,                     // 起始点x
    SET_STARTY ,                    // 起始点y
    SET_ANCHORX,                // 定位点x
    SET_ANCHORY,                // 定位点y
    SET_EQUAL,                      //等比缩放
    SET_BISECT,                      //
    SET_CORNERNEEDLE,           //拐角增加针步标志
    SET_CUTNEEDLE              //拐角分割针步标志
};

//多针旋梭花样预览参数枚举
enum ENUM_PATTERN_PREVIEW{
    PV_SPINDLE_TYPE = 101,//主轴类型
    PV_NEEDLE_SPACING,//针间距
    PV_SPACING_BETWEEN_NEEDLE_ROWS,//排针间距
    PV_LOWER_ROW_HEAD_CENTERED//下排机头居中
};

//平板切割机算法参数枚举
enum ENUM_ALGORITHM {
    FIT_SMALL,                           //拟合小针步
    MINIMUM_STEP,                           //直线最小步长
    MAXIMUM_STEP,                           //直线最大步长
    JUDGMENT_DEGREE,                           //圆弧转角判断度数
    ARC_COMPENSATION,                           //圆弧补偿步长
    ARC_COMPENSATION_1,                           //切刀1圆弧补偿半径
    ARC_COMPENSATION_2,                           //切刀2圆弧补偿半径

    CUT_SPD_MINPPS,                           //最小切割速度
    CUT_SPD_MAXPPS,                           //最大切割速度
    CUT_ADD_PPSG,                           //切割加速度
    CUT_SLOW_ANGLE,                           //切割降速最小偏差角度
    CUT_WORK_MINADD,                           //工作最小加速度
    CUT_RNF1_COMP,                           //抬刀补偿
    CUT_RNF2_COMP,                           //落刀补偿


    //飞行切割平板切割机    coco
    CUT_CRUTCH_ANG,                         //拐点转角判断度数,单位:10000弧度
    CUT_LINE_STP,                           //分割数据步长,单位0.01mm
    CUT_X_LENGH,                            //X向可切割长度,单位0.01mm
    //    CUT_X_WINDOW,                           //X向过窗长度:3/10
    //    CUT_X_EDGE,                             //X向过窗边缘 1/10
    CUT_RNF_COMP,                           //圆刀退刀补偿 ,单位0.01mm
    CUT_Vert_COMP,                          //切割垂直补偿 ,单位0.01mm
    CUT_ENABLE_BRUSH,                       //画笔启用
    CUT_ENABLE_OR,                          //重叠消除启用
    CUT_ENABLE_NOUSE,                       //无作用--仅避免21重复
    CUT_ENABLE_DELEDGE,                      //消除边界启用
    CUT_DELEDGE_VALUE,                      //消除边界误差
    CUT_OR_VALUE                          //重叠消除误差
    //    CUT_OFFSET_SPD,                         //偏移速度 ,单位0.01mm/s
    //    CUT_DRAWING_SPD,                        //画笔速度 ,单位0.01mm/s
    //    CUT_CUTTING_SPD,                        //切割速度 ,单位0.01mm/s
    //    CUT_LEFT_TIME,                          //升降机头时间 ,单位s
    //    CUT_SPD_ADJ,                            //行进速度校准 ,范围50%~200% 单位%
    //    CUT_SPD_MAX,                            //最大行进速度 ,单位0.01mm/s   (1~65500)
};

//网络管理设置的顺序枚举
enum ENUM_NETWORKSET {
    SET_MQTT_SERVERIP = 0,      // 网关服务器IP
    SET_MQTT_SERVERPORT,        // 网关服务器端口
    SET_MACHINE_SERVERIP,      // 机器服务器IP
    SET_MACHINE_SERVERPORT,        // 机器服务器端口
    SET_LOCALIP,           // 本地IP
    SET_LOCALPORT,          // 本地端口
};

#endif // CMDCONFIG_H
